package modelo;
// Generated 25/09/2014 20:12:03 by Hibernate Tools 4.0.0

import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * Empresa generated by hbm2java
 */
@Entity
@Table(name = "empresa", catalog = "eventos_compartidos")
public class Empresa implements java.io.Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = -394635924137207332L;
	private Integer idEmpresa;
	private Domicilio domicilio;
	private String razonSocial;
	private String email;
	private String web;
	private Set<Propietario> propietarios = new HashSet<Propietario>(0);
	private Set<Telefonoempresa> telefonoempresas = new HashSet<Telefonoempresa>(
			0);

	public Empresa() {
	}

	public Empresa(Domicilio domicilio, String razonSocial) {
		this.domicilio = domicilio;
		this.razonSocial = razonSocial;
	}

	public Empresa(Domicilio domicilio, String razonSocial, String email,
			String web, Set<Propietario> propietarios,
			Set<Telefonoempresa> telefonoempresas) {
		this.domicilio = domicilio;
		this.razonSocial = razonSocial;
		this.email = email;
		this.web = web;
		this.propietarios = propietarios;
		this.telefonoempresas = telefonoempresas;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "idEmpresa", unique = true, nullable = false)
	public Integer getIdEmpresa() {
		return this.idEmpresa;
	}

	public void setIdEmpresa(Integer idEmpresa) {
		this.idEmpresa = idEmpresa;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "idDomicilio", nullable = false)
	public Domicilio getDomicilio() {
		return this.domicilio;
	}

	public void setDomicilio(Domicilio domicilio) {
		this.domicilio = domicilio;
	}

	@Column(name = "razonSocial", nullable = false, length = 100)
	public String getRazonSocial() {
		return this.razonSocial;
	}

	public void setRazonSocial(String razonSocial) {
		this.razonSocial = razonSocial;
	}

	@Column(name = "email", length = 100)
	public String getEmail() {
		return this.email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	@Column(name = "web", length = 100)
	public String getWeb() {
		return this.web;
	}

	public void setWeb(String web) {
		this.web = web;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "empresa")
	public Set<Propietario> getPropietarios() {
		return this.propietarios;
	}

	public void setPropietarios(Set<Propietario> propietarios) {
		this.propietarios = propietarios;
	}

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "empresa")
	public Set<Telefonoempresa> getTelefonoempresas() {
		return this.telefonoempresas;
	}

	public void setTelefonoempresas(Set<Telefonoempresa> telefonoempresas) {
		this.telefonoempresas = telefonoempresas;
	}

}
